/* -*- Mode: c; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
/*
  RefObject (http://code.google.com/p/refobject/)
  Copyright (C) 2010-2011 MIURA Shirow (sharow)
*/

#ifndef INCLUDED_REFLIST_H
#define INCLUDED_REFLIST_H


#include <RefObject/RefObject.h>

RefTypeObject **RefList_GetTypeObject(void);
int RefList_IsValid(RefObject *aRefObject);
RefObject *RefList_Create(void);
RefObject *RefList_CreateWithAllocator(RefObject *aRefAllocator);
int RefList_Append(RefObject *aRefList, RefObject *aRefObject);
int RefList_Insert(RefObject *aRefList, int aIndex, RefObject *aRefObject);
RefObject *RefList_TakeOutItem(RefObject *aRefList, int aIndex);
int RefList_DeleteItem(RefObject *aRefList, int aIndex);
RefObject *RefList_GetItem(RefObject *aRefList, int aIndex);
int RefList_GetSize(RefObject *aRefList);


#endif

